<html>
<head><meta charset="utf-8"><title>match retrieval ergonomy · wg-cli · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/index.html">wg-cli</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html">match retrieval ergonomy</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="203914668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203914668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203914668">(Jul 15 2020 at 04:01)</a>:</h4>
<p>hello there!<br>
I am always puzzled when I need to do:</p>
<div class="codehilite"><pre><span></span><code>matches.value_of(&quot;arg_name&quot;).unwrap()
</code></pre></div>


<p>when I could just do (if clap supported it)</p>
<div class="codehilite"><pre><span></span><code>matches[&quot;arg_name&quot;]
</code></pre></div>


<p>I heard clap is going to make a release soon, if there's no opposition to this change, I'll try make a PR!</p>
<p><span class="user-mention" data-user-id="254853">@pksunkara</span> <span class="user-mention" data-user-id="244816">@CreepySkeleton</span></p>



<a name="203915054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203915054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203915054">(Jul 15 2020 at 04:10)</a>:</h4>
<p>Since value_of can be used but also, values_of, which doesnt return the same type, I wonder if it's possible to generically return either of them</p>



<a name="203915138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203915138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203915138">(Jul 15 2020 at 04:12)</a>:</h4>
<p>which would be either &amp;str or an iterator on &amp;str</p>



<a name="203915156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203915156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203915156">(Jul 15 2020 at 04:12)</a>:</h4>
<p>Or we could just say that the ergonomic subscript access is always value_of</p>



<a name="203919905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203919905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203919905">(Jul 15 2020 at 06:12)</a>:</h4>
<p>Generic return values tend to result in less ergonomic code, requiring either type signatures or turbofish.</p>



<a name="203919936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203919936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203919936">(Jul 15 2020 at 06:13)</a>:</h4>
<p>too bad, would it be acceptable to assume value_of when using array indexing?</p>



<a name="203920253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203920253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203920253">(Jul 15 2020 at 06:21)</a>:</h4>
<p>Ideally, if moving to a less stringly typed argument handling, the argument type would determine that.</p>



<a name="203920626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/203920626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#203920626">(Jul 15 2020 at 06:30)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> I see you've got "deserialize into struct" thing now</p>



<a name="204219104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204219104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204219104">(Jul 17 2020 at 15:22)</a>:</h4>
<p>I think the biggest problem with the index operator is failability - lack thereof. <code>value[s]_of</code> can fail (return None) if the arg is not required and user (or default value) didn't provide it.</p>



<a name="204219708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204219708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204219708">(Jul 17 2020 at 15:27)</a>:</h4>
<p>Come to think of it, a generic returning value might be `Box&lt;dyn Iterator&lt;Item = &amp;str&gt;, I guess.</p>



<a name="204219734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204219734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204219734">(Jul 17 2020 at 15:27)</a>:</h4>
<p>Although it won't help you much</p>



<a name="204219992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204219992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204219992">(Jul 17 2020 at 15:29)</a>:</h4>
<blockquote>
<p>moving to a less stringly typed argument handling</p>
</blockquote>
<p>This topic pops up every so often, but nobody was able to even remotely guess something that could possibly work.</p>



<a name="204220135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220135">(Jul 17 2020 at 15:30)</a>:</h4>
<p>What we're talking about here is heterogeneous container</p>



<a name="204220201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220201">(Jul 17 2020 at 15:31)</a>:</h4>
<p>Clap is, simply speaking, a dictionary (map)</p>



<a name="204220321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220321">(Jul 17 2020 at 15:32)</a>:</h4>
<p>It maps _argument identifier_ to a list of _values_ (&amp;[Os]str)</p>



<a name="204220340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220340">(Jul 17 2020 at 15:32)</a>:</h4>
<p>Identifier is also <code>&amp;str</code></p>



<a name="204220635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220635">(Jul 17 2020 at 15:34)</a>:</h4>
<p>What users want is to convert the values to the respective types, but types can be anything</p>



<a name="204220699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220699">(Jul 17 2020 at 15:35)</a>:</h4>
<p>There's already <code>value_of_t</code> that encapsulates this logic</p>



<a name="204220947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204220947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204220947">(Jul 17 2020 at 15:36)</a>:</h4>
<p>I think this is about as far as we can go without any sort of macros. You can't just have a methods with the signature of <code>&amp;self -&gt; SomeType</code> because <code>SomeType</code> will be different for different arguments.</p>



<a name="204227698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204227698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204227698">(Jul 17 2020 at 16:25)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> most of the time, I provide default values for my arguments, so in that case, index is fine, but of course, that's the inconvenient of it</p>



<a name="204228296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204228296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204228296">(Jul 17 2020 at 16:30)</a>:</h4>
<p>I see it's not written in the README, but can't clap also serve as a configuration management library? wouldnt there be interest in also allowing something like yaml configurations to be passed and the yaml config fills the command line arguments?</p>



<a name="204228516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204228516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204228516">(Jul 17 2020 at 16:32)</a>:</h4>
<p>like a special switch, e.g. <code>--file-arguments /etc/example/example.yaml</code></p>



<a name="204343299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204343299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pksunkara <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204343299">(Jul 19 2020 at 10:40)</a>:</h4>
<p>There were some discussions about it, but it's not a high priority for us. You could take a look around and contribute to the discussions.</p>



<a name="204362061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204362061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204362061">(Jul 19 2020 at 17:43)</a>:</h4>
<p><span class="user-mention" data-user-id="214522">@Leo Le Bouter</span> <code>ArgMatches</code> doesn't <em>know</em> whether <code>"cfg"</code>for example has default value or not. Most importantly, we would need this kind in information to be encoded in type system so the index op could distinguish and return either option or the value itself, depending.</p>



<a name="204362125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204362125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204362125">(Jul 19 2020 at 17:44)</a>:</h4>
<p>But identifiers don't have this kind of type system info attached, it's just <code>&amp;str</code></p>



<a name="204362129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204362129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204362129">(Jul 19 2020 at 17:44)</a>:</h4>
<p>Yes, we <em>could</em> add such an impl in addition to <code>value_of</code></p>



<a name="204362145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204362145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204362145">(Jul 19 2020 at 17:45)</a>:</h4>
<p>But how to encode the difference between <code>value_of</code> and <code>value_of_os</code> in it?</p>



<a name="204362151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204362151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204362151">(Jul 19 2020 at 17:45)</a>:</h4>
<p>It's vital when it comes to file paths</p>



<a name="204363296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204363296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204363296">(Jul 19 2020 at 18:04)</a>:</h4>
<p>Actually, when trait impl specialization <em>finally</em> lands, we could do something like:</p>
<div class="codehilite"><pre><span></span><code><span class="c1">// The traits are mutually exclusive</span>

<span class="k">trait</span><span class="w"> </span><span class="n">ClapFromStr</span>: <span class="o">!</span><span class="n">ClapFromOsStr</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">from_str</span><span class="p">(</span><span class="o">&amp;</span><span class="kt">str</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nc">Self</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">trait</span><span class="w"> </span><span class="n">ClapFromOsStr</span>: <span class="o">!</span><span class="n">ClapFromStr</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">from_os_str</span><span class="p">(</span><span class="o">&amp;</span><span class="n">OsStr</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nc">Self</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="c1">// everything that requires the argument to be valid utf-8</span>
<span class="k">impl</span><span class="w"> </span><span class="n">ClapFromStr</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="o">&amp;</span><span class="kt">str</span><span class="p">,</span><span class="w"> </span><span class="nb">String</span><span class="p">,</span><span class="w"> </span><span class="kt">i64</span><span class="p">,</span><span class="w"> </span><span class="o">..</span><span class="p">.</span><span class="w"></span>

<span class="c1">// everything that doesn&#39;t have to be valid UTF-8</span>
<span class="k">impl</span><span class="w"> </span><span class="n">ClapFromOsStr</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">Path</span><span class="p">,</span><span class="w"> </span><span class="n">PathBuf</span><span class="p">,</span><span class="w"> </span><span class="o">..</span><span class="p">.</span><span class="w"></span>

<span class="c1">// impl that uses value_of</span>
<span class="k">impl</span><span class="o">&lt;</span><span class="n">R</span>: <span class="nc">ClapFromStr</span><span class="o">&gt;</span><span class="w"> </span><span class="n">Index</span><span class="o">&lt;&amp;</span><span class="kt">str</span><span class="o">&gt;</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">R</span><span class="p">;</span><span class="w"></span>

<span class="c1">// impl that uses value_of_os</span>
<span class="k">impl</span><span class="o">&lt;</span><span class="n">R</span>: <span class="nc">ClapFromOsStr</span><span class="o">&gt;</span><span class="w"> </span><span class="n">Index</span><span class="o">&lt;&amp;</span><span class="kt">str</span><span class="o">&gt;</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">R</span><span class="p">;</span><span class="w"></span>
</code></pre></div>


<p>But we need to be able to mark the traits as mutually exclusive.</p>



<a name="204369571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369571">(Jul 19 2020 at 20:30)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> Cool! Glad to know it's trait impl specialization that helps it!</p>



<a name="204369598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369598">(Jul 19 2020 at 20:31)</a>:</h4>
<p>No wait, we don't need it!</p>



<a name="204369635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369635">(Jul 19 2020 at 20:32)</a>:</h4>
<p>o.o!</p>



<a name="204369646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369646">(Jul 19 2020 at 20:32)</a>:</h4>
<p>ALl we ned is to impl it for the interesting types one by one</p>



<a name="204369647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369647">(Jul 19 2020 at 20:32)</a>:</h4>
<p>like impl for String, u64, Path, etc</p>



<a name="204369650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369650">(Jul 19 2020 at 20:32)</a>:</h4>
<p>But there's another problem</p>



<a name="204369651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369651">(Jul 19 2020 at 20:32)</a>:</h4>
<p>Guess what?</p>



<a name="204369653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369653">(Jul 19 2020 at 20:33)</a>:</h4>
<p>and then matches["test"] returns what?</p>



<a name="204369657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369657">(Jul 19 2020 at 20:33)</a>:</h4>
<p>It returns <code>R</code></p>



<a name="204369665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369665">(Jul 19 2020 at 20:33)</a>:</h4>
<p>Which should be inferred from context in most cases</p>



<a name="204369666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369666">(Jul 19 2020 at 20:33)</a>:</h4>
<p>okay, interesting</p>



<a name="204369670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369670">(Jul 19 2020 at 20:33)</a>:</h4>
<p>The real problem is that conversion themself can fail</p>



<a name="204369707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369707">(Jul 19 2020 at 20:34)</a>:</h4>
<p>didnt know you could actually return generics from indexing</p>



<a name="204369714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369714">(Jul 19 2020 at 20:34)</a>:</h4>
<p>For example, what if you're trying to convert it to <code>u64</code> but the value is "foo"?</p>



<a name="204369715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369715">(Jul 19 2020 at 20:34)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> then macro to the rescue?</p>



<a name="204369724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369724">(Jul 19 2020 at 20:35)</a>:</h4>
<p>???</p>



<a name="204369729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369729">(Jul 19 2020 at 20:35)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> I mean no indexing, just a macro</p>



<a name="204369733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369733">(Jul 19 2020 at 20:35)</a>:</h4>
<p>We already have that</p>



<a name="204369737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369737">(Jul 19 2020 at 20:35)</a>:</h4>
<p>it's called <code>value_of_t</code></p>



<a name="204369740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369740">(Jul 19 2020 at 20:35)</a>:</h4>
<p>and it's not a macro</p>



<a name="204369742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369742">(Jul 19 2020 at 20:35)</a>:</h4>
<p>*Will have in 3.0</p>



<a name="204369785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369785">(Jul 19 2020 at 20:36)</a>:</h4>
<p>I... I actually feel enlighten</p>



<a name="204369804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369804">(Jul 19 2020 at 20:37)</a>:</h4>
<p>What if <code>App::arg</code> took not <code>Arg</code> but some generic <code>R</code> that implements <code>ArgTrait</code></p>



<a name="204369811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369811">(Jul 19 2020 at 20:38)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> Is it possible to check all accesses of the indexing and do checks at the start of the program for correct types?</p>



<a name="204369853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369853">(Jul 19 2020 at 20:38)</a>:</h4>
<p>with the type system?</p>



<a name="204369861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369861">(Jul 19 2020 at 20:38)</a>:</h4>
<p>or encode the type in the declaration of arguments</p>



<a name="204369869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369869">(Jul 19 2020 at 20:39)</a>:</h4>
<p>I think it might be possible for some number of select types, but not in general</p>



<a name="204369874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369874">(Jul 19 2020 at 20:39)</a>:</h4>
<blockquote>
<p>or encode the type in the declaration of arguments</p>
</blockquote>
<p>That's what I'm thinking</p>



<a name="204369921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369921">(Jul 19 2020 at 20:40)</a>:</h4>
<p>I need to fork clap and publish my clap-killer arg parser at this point, muhaha!</p>



<a name="204369926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204369926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204369926">(Jul 19 2020 at 20:40)</a>:</h4>
<p>aha I'm glad!</p>



<a name="204370053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370053">(Jul 19 2020 at 20:44)</a>:</h4>
<p><span class="user-mention" data-user-id="244816">@CreepySkeleton</span> I would really like a shorthand for .unwrap() on Option</p>



<a name="204370109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370109">(Jul 19 2020 at 20:46)</a>:</h4>
<p>could the <code>*</code> operator be used as such?</p>



<a name="204370113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370113">(Jul 19 2020 at 20:46)</a>:</h4>
<p><code>*matches.value_of("test")</code>?</p>



<a name="204370121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370121">(Jul 19 2020 at 20:46)</a>:</h4>
<p>panics if invalid?</p>



<a name="204370136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370136">(Jul 19 2020 at 20:47)</a>:</h4>
<p>value_of is too long too</p>



<a name="204370183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370183">(Jul 19 2020 at 20:48)</a>:</h4>
<p><code>val</code> could be ok</p>



<a name="204370194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370194">(Jul 19 2020 at 20:48)</a>:</h4>
<p>or <code>get</code></p>



<a name="204370588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370588">(Jul 19 2020 at 21:00)</a>:</h4>
<p>The problem is that it can fail because of two unrelated reasons - the argument wasn't provided and the argument couldn't be parsed as the resulted type.</p>



<a name="204370594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370594">(Jul 19 2020 at 21:01)</a>:</h4>
<p>Should it panic in <em>both</em> cases?</p>



<a name="204370600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370600">(Jul 19 2020 at 21:01)</a>:</h4>
<p>The problem with <code>get</code> is that the famous <code>slice::get</code> return Option</p>



<a name="204370642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/220302-wg-cli/topic/match%20retrieval%20ergonomy/near/204370642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> CreepySkeleton <a href="https://rust-lang.github.io/zulip_archive/stream/220302-wg-cli/topic/match.20retrieval.20ergonomy.html#204370642">(Jul 19 2020 at 21:02)</a>:</h4>
<p>I would prefer to follow the example</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>